#pragma once
#include "gd32f4xx.h"
#ifndef ADC_H
#define ADC_H

void adc_init(void);
uint16_t adc0_get_pc0_value(void);
#include <string.h>
#include <stdint.h>
/**
 * @brief 12位ADC转电压值（浮点）
 * @param adc_value 12位ADC值 (0-4095)
 * @param vref 参考电压（如3.3V或5.0V）
 * @return 电压值（浮点）
 */
float my_adc_to_voltage(uint16_t adc_value, float vref);
/**
 * @brief 浮点数转字符串（支持2位小数）
 * @param value 浮点电压值
 * @param str_out 输出字符串（至少10字节）
 * @return 字符串长度
 */
uint8_t my_float_to_str(float value, char *str_out);
#endif // ADC_H